{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt #画图模块\n",
    "import matplotlib.dates as mdates #日期格式处理模块\n",
    "from matplotlib import style #用来自定义图表风格的模块"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Preclose</th>\n",
       "      <th>Open</th>\n",
       "      <th>Highest</th>\n",
       "      <th>Lowest</th>\n",
       "      <th>Close</th>\n",
       "      <th>Return</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Day</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1990-12-19</th>\n",
       "      <td>NaN</td>\n",
       "      <td>96.050</td>\n",
       "      <td>99.980</td>\n",
       "      <td>95.790</td>\n",
       "      <td>99.980</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-20</th>\n",
       "      <td>99.980</td>\n",
       "      <td>104.300</td>\n",
       "      <td>104.390</td>\n",
       "      <td>99.980</td>\n",
       "      <td>104.390</td>\n",
       "      <td>0.044109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-21</th>\n",
       "      <td>104.390</td>\n",
       "      <td>109.070</td>\n",
       "      <td>109.130</td>\n",
       "      <td>103.730</td>\n",
       "      <td>109.130</td>\n",
       "      <td>0.045407</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-24</th>\n",
       "      <td>109.130</td>\n",
       "      <td>113.570</td>\n",
       "      <td>114.550</td>\n",
       "      <td>109.130</td>\n",
       "      <td>114.550</td>\n",
       "      <td>0.049666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990-12-25</th>\n",
       "      <td>114.550</td>\n",
       "      <td>120.090</td>\n",
       "      <td>120.250</td>\n",
       "      <td>114.550</td>\n",
       "      <td>120.250</td>\n",
       "      <td>0.049760</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-08-25</th>\n",
       "      <td>3825.759</td>\n",
       "      <td>3848.163</td>\n",
       "      <td>3883.562</td>\n",
       "      <td>3839.972</td>\n",
       "      <td>3883.562</td>\n",
       "      <td>0.015109</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-08-26</th>\n",
       "      <td>3883.562</td>\n",
       "      <td>3871.471</td>\n",
       "      <td>3888.599</td>\n",
       "      <td>3859.758</td>\n",
       "      <td>3868.382</td>\n",
       "      <td>-0.003909</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-08-27</th>\n",
       "      <td>3868.382</td>\n",
       "      <td>3869.612</td>\n",
       "      <td>3887.198</td>\n",
       "      <td>3800.350</td>\n",
       "      <td>3800.350</td>\n",
       "      <td>-0.017587</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-08-28</th>\n",
       "      <td>3800.350</td>\n",
       "      <td>3796.711</td>\n",
       "      <td>3845.087</td>\n",
       "      <td>3761.422</td>\n",
       "      <td>3843.597</td>\n",
       "      <td>0.011380</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2025-08-29</th>\n",
       "      <td>3843.597</td>\n",
       "      <td>3842.823</td>\n",
       "      <td>3867.606</td>\n",
       "      <td>3839.206</td>\n",
       "      <td>3857.927</td>\n",
       "      <td>0.003728</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8473 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            Preclose      Open   Highest    Lowest     Close    Return\n",
       "Day                                                                   \n",
       "1990-12-19       NaN    96.050    99.980    95.790    99.980       NaN\n",
       "1990-12-20    99.980   104.300   104.390    99.980   104.390  0.044109\n",
       "1990-12-21   104.390   109.070   109.130   103.730   109.130  0.045407\n",
       "1990-12-24   109.130   113.570   114.550   109.130   114.550  0.049666\n",
       "1990-12-25   114.550   120.090   120.250   114.550   120.250  0.049760\n",
       "...              ...       ...       ...       ...       ...       ...\n",
       "2025-08-25  3825.759  3848.163  3883.562  3839.972  3883.562  0.015109\n",
       "2025-08-26  3883.562  3871.471  3888.599  3859.758  3868.382 -0.003909\n",
       "2025-08-27  3868.382  3869.612  3887.198  3800.350  3800.350 -0.017587\n",
       "2025-08-28  3800.350  3796.711  3845.087  3761.422  3843.597  0.011380\n",
       "2025-08-29  3843.597  3842.823  3867.606  3839.206  3857.927  0.003728\n",
       "\n",
       "[8473 rows x 6 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('F:/Python2025/000001.csv')\n",
    "data['Day'] = pd.to_datetime(data['Day'],format='%Y/%m/%d')\n",
    "data.set_index('Day',inplace=True)\n",
    "data['Close'] = pd.to_numeric(data['Close'],errors='coerce')\n",
    "data['Preclose'] = data['Close'].shift(1)\n",
    "data['Return'] = (data['Close'] - data['Preclose'])/data['Preclose'] \n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Return</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Day</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1995-01-31</th>\n",
       "      <td>-0.131631</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1995-02-28</th>\n",
       "      <td>-0.023694</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1995-03-31</th>\n",
       "      <td>0.177803</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1995-04-30</th>\n",
       "      <td>-0.103552</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1995-05-31</th>\n",
       "      <td>0.207922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-08-31</th>\n",
       "      <td>-0.032849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-09-30</th>\n",
       "      <td>0.173908</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-10-31</th>\n",
       "      <td>-0.016986</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-11-30</th>\n",
       "      <td>0.014218</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-12-31</th>\n",
       "      <td>0.007608</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>360 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              Return\n",
       "Day                 \n",
       "1995-01-31 -0.131631\n",
       "1995-02-28 -0.023694\n",
       "1995-03-31  0.177803\n",
       "1995-04-30 -0.103552\n",
       "1995-05-31  0.207922\n",
       "...              ...\n",
       "2024-08-31 -0.032849\n",
       "2024-09-30  0.173908\n",
       "2024-10-31 -0.016986\n",
       "2024-11-30  0.014218\n",
       "2024-12-31  0.007608\n",
       "\n",
       "[360 rows x 1 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_new = data['1995-01-01':'2024-12-31'].copy()\n",
    "Month_data = data_new.resample('ME')['Return'].apply(lambda x: (1+x).prod()-1).to_frame()\n",
    "Month_data\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
       "  \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
       "<svg xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"568.34375pt\" height=\"280.474375pt\" viewBox=\"0 0 568.34375 280.474375\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\">\n",
       " <metadata>\n",
       "  <rdf:RDF xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
       "   <cc:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
       "    <dc:date>2025-10-14T22:18:57.951127</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <cc:Agent>\n",
       "      <dc:title>Matplotlib v3.9.2, https://matplotlib.org/</dc:title>\n",
       "     </cc:Agent>\n",
       "    </dc:creator>\n",
       "   </cc:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 280.474375 \n",
       "L 568.34375 280.474375 \n",
       "L 568.34375 0 \n",
       "L 0 0 \n",
       "z\n",
       "\" style=\"fill: #ffffff\"/>\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 50.14375 242.918125 \n",
       "L 561.14375 242.918125 \n",
       "L 561.14375 22.318125 \n",
       "L 50.14375 22.318125 \n",
       "z\n",
       "\" style=\"fill: #ffffff\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 73.371023 242.918125 \n",
       "L 78.016477 242.918125 \n",
       "L 78.016477 242.907219 \n",
       "L 73.371023 242.907219 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 78.016477 242.918125 \n",
       "L 82.661932 242.918125 \n",
       "L 82.661932 242.907219 \n",
       "L 78.016477 242.907219 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 82.661932 242.918125 \n",
       "L 87.307386 242.918125 \n",
       "L 87.307386 242.907219 \n",
       "L 82.661932 242.907219 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 87.307386 242.918125 \n",
       "L 91.952841 242.918125 \n",
       "L 91.952841 242.901766 \n",
       "L 87.307386 242.901766 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_7\">\n",
       "    <path d=\"M 91.952841 242.918125 \n",
       "L 96.598295 242.918125 \n",
       "L 96.598295 242.885406 \n",
       "L 91.952841 242.885406 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_8\">\n",
       "    <path d=\"M 96.598295 242.918125 \n",
       "L 101.24375 242.918125 \n",
       "L 101.24375 242.890859 \n",
       "L 96.598295 242.890859 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_9\">\n",
       "    <path d=\"M 101.24375 242.918125 \n",
       "L 105.889205 242.918125 \n",
       "L 105.889205 242.896313 \n",
       "L 101.24375 242.896313 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_10\">\n",
       "    <path d=\"M 105.889205 242.918125 \n",
       "L 110.534659 242.918125 \n",
       "L 110.534659 242.858141 \n",
       "L 105.889205 242.858141 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_11\">\n",
       "    <path d=\"M 110.534659 242.918125 \n",
       "L 115.180114 242.918125 \n",
       "L 115.180114 242.830875 \n",
       "L 110.534659 242.830875 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_12\">\n",
       "    <path d=\"M 115.180114 242.918125 \n",
       "L 119.825568 242.918125 \n",
       "L 119.825568 242.798156 \n",
       "L 115.180114 242.798156 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_13\">\n",
       "    <path d=\"M 119.825568 242.918125 \n",
       "L 124.471023 242.918125 \n",
       "L 124.471023 242.743625 \n",
       "L 119.825568 242.743625 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_14\">\n",
       "    <path d=\"M 124.471023 242.918125 \n",
       "L 129.116477 242.918125 \n",
       "L 129.116477 242.62911 \n",
       "L 124.471023 242.62911 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_15\">\n",
       "    <path d=\"M 129.116477 242.918125 \n",
       "L 133.761932 242.918125 \n",
       "L 133.761932 242.54186 \n",
       "L 129.116477 242.54186 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_16\">\n",
       "    <path d=\"M 133.761932 242.918125 \n",
       "L 138.407386 242.918125 \n",
       "L 138.407386 242.351001 \n",
       "L 133.761932 242.351001 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_17\">\n",
       "    <path d=\"M 138.407386 242.918125 \n",
       "L 143.052841 242.918125 \n",
       "L 143.052841 242.187407 \n",
       "L 138.407386 242.187407 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_18\">\n",
       "    <path d=\"M 143.052841 242.918125 \n",
       "L 147.698295 242.918125 \n",
       "L 147.698295 241.876579 \n",
       "L 143.052841 241.876579 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_19\">\n",
       "    <path d=\"M 147.698295 242.918125 \n",
       "L 152.34375 242.918125 \n",
       "L 152.34375 241.52758 \n",
       "L 147.698295 241.52758 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_20\">\n",
       "    <path d=\"M 152.34375 242.918125 \n",
       "L 156.989205 242.918125 \n",
       "L 156.989205 241.184033 \n",
       "L 152.34375 241.184033 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_21\">\n",
       "    <path d=\"M 156.989205 242.918125 \n",
       "L 161.634659 242.918125 \n",
       "L 161.634659 240.409691 \n",
       "L 156.989205 240.409691 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_22\">\n",
       "    <path d=\"M 161.634659 242.918125 \n",
       "L 166.280114 242.918125 \n",
       "L 166.280114 239.49902 \n",
       "L 161.634659 239.49902 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_23\">\n",
       "    <path d=\"M 166.280114 242.918125 \n",
       "L 170.925568 242.918125 \n",
       "L 170.925568 238.293881 \n",
       "L 166.280114 238.293881 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_24\">\n",
       "    <path d=\"M 170.925568 242.918125 \n",
       "L 175.571023 242.918125 \n",
       "L 175.571023 237.175991 \n",
       "L 170.925568 237.175991 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_25\">\n",
       "    <path d=\"M 175.571023 242.918125 \n",
       "L 180.216477 242.918125 \n",
       "L 180.216477 235.076541 \n",
       "L 175.571023 235.076541 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_26\">\n",
       "    <path d=\"M 180.216477 242.918125 \n",
       "L 184.861932 242.918125 \n",
       "L 184.861932 233.227934 \n",
       "L 180.216477 233.227934 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_27\">\n",
       "    <path d=\"M 184.861932 242.918125 \n",
       "L 189.507386 242.918125 \n",
       "L 189.507386 230.915812 \n",
       "L 184.861932 230.915812 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_28\">\n",
       "    <path d=\"M 189.507386 242.918125 \n",
       "L 194.152841 242.918125 \n",
       "L 194.152841 227.92205 \n",
       "L 189.507386 227.92205 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_29\">\n",
       "    <path d=\"M 194.152841 242.918125 \n",
       "L 198.798295 242.918125 \n",
       "L 198.798295 224.737428 \n",
       "L 194.152841 224.737428 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_30\">\n",
       "    <path d=\"M 198.798295 242.918125 \n",
       "L 203.44375 242.918125 \n",
       "L 203.44375 219.513341 \n",
       "L 198.798295 219.513341 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_31\">\n",
       "    <path d=\"M 203.44375 242.918125 \n",
       "L 208.089205 242.918125 \n",
       "L 208.089205 214.207457 \n",
       "L 203.44375 214.207457 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_32\">\n",
       "    <path d=\"M 208.089205 242.918125 \n",
       "L 212.734659 242.918125 \n",
       "L 212.734659 209.365088 \n",
       "L 208.089205 209.365088 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_33\">\n",
       "    <path d=\"M 212.734659 242.918125 \n",
       "L 217.380114 242.918125 \n",
       "L 217.380114 202.668659 \n",
       "L 212.734659 202.668659 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_34\">\n",
       "    <path d=\"M 217.380114 242.918125 \n",
       "L 222.025568 242.918125 \n",
       "L 222.025568 194.985215 \n",
       "L 217.380114 194.985215 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_35\">\n",
       "    <path d=\"M 222.025568 242.918125 \n",
       "L 226.671023 242.918125 \n",
       "L 226.671023 187.007303 \n",
       "L 222.025568 187.007303 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_36\">\n",
       "    <path d=\"M 226.671023 242.918125 \n",
       "L 231.316477 242.918125 \n",
       "L 231.316477 177.044456 \n",
       "L 226.671023 177.044456 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_37\">\n",
       "    <path d=\"M 231.316477 242.918125 \n",
       "L 235.961932 242.918125 \n",
       "L 235.961932 166.629 \n",
       "L 231.316477 166.629 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_38\">\n",
       "    <path d=\"M 235.961932 242.918125 \n",
       "L 240.607386 242.918125 \n",
       "L 240.607386 155.613701 \n",
       "L 235.961932 155.613701 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_39\">\n",
       "    <path d=\"M 240.607386 242.918125 \n",
       "L 245.252841 242.918125 \n",
       "L 245.252841 144.29848 \n",
       "L 240.607386 144.29848 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_40\">\n",
       "    <path d=\"M 245.252841 242.918125 \n",
       "L 249.898295 242.918125 \n",
       "L 249.898295 133.621274 \n",
       "L 245.252841 133.621274 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_41\">\n",
       "    <path d=\"M 249.898295 242.918125 \n",
       "L 254.54375 242.918125 \n",
       "L 254.54375 120.402915 \n",
       "L 249.898295 120.402915 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_42\">\n",
       "    <path d=\"M 254.54375 242.918125 \n",
       "L 259.189205 242.918125 \n",
       "L 259.189205 108.384243 \n",
       "L 254.54375 108.384243 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_43\">\n",
       "    <path d=\"M 259.189205 242.918125 \n",
       "L 263.834659 242.918125 \n",
       "L 263.834659 96.272867 \n",
       "L 259.189205 96.272867 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_44\">\n",
       "    <path d=\"M 263.834659 242.918125 \n",
       "L 268.480114 242.918125 \n",
       "L 268.480114 85.672005 \n",
       "L 263.834659 85.672005 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_45\">\n",
       "    <path d=\"M 268.480114 242.918125 \n",
       "L 273.125568 242.918125 \n",
       "L 273.125568 73.407942 \n",
       "L 268.480114 73.407942 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_46\">\n",
       "    <path d=\"M 273.125568 242.918125 \n",
       "L 277.771023 242.918125 \n",
       "L 277.771023 64.252156 \n",
       "L 273.125568 64.252156 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_47\">\n",
       "    <path d=\"M 277.771023 242.918125 \n",
       "L 282.416477 242.918125 \n",
       "L 282.416477 53.738544 \n",
       "L 277.771023 53.738544 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_48\">\n",
       "    <path d=\"M 282.416477 242.918125 \n",
       "L 287.061932 242.918125 \n",
       "L 287.061932 46.518615 \n",
       "L 282.416477 46.518615 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_49\">\n",
       "    <path d=\"M 287.061932 242.918125 \n",
       "L 291.707386 242.918125 \n",
       "L 291.707386 41.081856 \n",
       "L 287.061932 41.081856 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_50\">\n",
       "    <path d=\"M 291.707386 242.918125 \n",
       "L 296.352841 242.918125 \n",
       "L 296.352841 35.192488 \n",
       "L 291.707386 35.192488 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_51\">\n",
       "    <path d=\"M 296.352841 242.918125 \n",
       "L 300.998295 242.918125 \n",
       "L 300.998295 33.0276 \n",
       "L 296.352841 33.0276 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_52\">\n",
       "    <path d=\"M 300.998295 242.918125 \n",
       "L 305.64375 242.918125 \n",
       "L 305.64375 33.752865 \n",
       "L 300.998295 33.752865 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_53\">\n",
       "    <path d=\"M 305.64375 242.918125 \n",
       "L 310.289205 242.918125 \n",
       "L 310.289205 34.134583 \n",
       "L 305.64375 34.134583 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_54\">\n",
       "    <path d=\"M 310.289205 242.918125 \n",
       "L 314.934659 242.918125 \n",
       "L 314.934659 36.326737 \n",
       "L 310.289205 36.326737 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_55\">\n",
       "    <path d=\"M 314.934659 242.918125 \n",
       "L 319.580114 242.918125 \n",
       "L 319.580114 42.128855 \n",
       "L 314.934659 42.128855 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_56\">\n",
       "    <path d=\"M 319.580114 242.918125 \n",
       "L 324.225568 242.918125 \n",
       "L 324.225568 49.93772 \n",
       "L 319.580114 49.93772 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_57\">\n",
       "    <path d=\"M 324.225568 242.918125 \n",
       "L 328.871023 242.918125 \n",
       "L 328.871023 59.349803 \n",
       "L 324.225568 59.349803 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_58\">\n",
       "    <path d=\"M 328.871023 242.918125 \n",
       "L 333.516477 242.918125 \n",
       "L 333.516477 66.662434 \n",
       "L 328.871023 66.662434 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_59\">\n",
       "    <path d=\"M 333.516477 242.918125 \n",
       "L 338.161932 242.918125 \n",
       "L 338.161932 78.953763 \n",
       "L 333.516477 78.953763 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_60\">\n",
       "    <path d=\"M 338.161932 242.918125 \n",
       "L 342.807386 242.918125 \n",
       "L 342.807386 89.123829 \n",
       "L 338.161932 89.123829 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_61\">\n",
       "    <path d=\"M 342.807386 242.918125 \n",
       "L 347.452841 242.918125 \n",
       "L 347.452841 100.051878 \n",
       "L 342.807386 100.051878 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_62\">\n",
       "    <path d=\"M 347.452841 242.918125 \n",
       "L 352.098295 242.918125 \n",
       "L 352.098295 113.482908 \n",
       "L 347.452841 113.482908 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_63\">\n",
       "    <path d=\"M 352.098295 242.918125 \n",
       "L 356.74375 242.918125 \n",
       "L 356.74375 127.202954 \n",
       "L 352.098295 127.202954 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_64\">\n",
       "    <path d=\"M 356.74375 242.918125 \n",
       "L 361.389205 242.918125 \n",
       "L 361.389205 138.441831 \n",
       "L 356.74375 138.441831 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_65\">\n",
       "    <path d=\"M 361.389205 242.918125 \n",
       "L 366.034659 242.918125 \n",
       "L 366.034659 149.478942 \n",
       "L 361.389205 149.478942 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_66\">\n",
       "    <path d=\"M 366.034659 242.918125 \n",
       "L 370.680114 242.918125 \n",
       "L 370.680114 160.270664 \n",
       "L 366.034659 160.270664 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_67\">\n",
       "    <path d=\"M 370.680114 242.918125 \n",
       "L 375.325568 242.918125 \n",
       "L 375.325568 172.420211 \n",
       "L 370.680114 172.420211 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_68\">\n",
       "    <path d=\"M 375.325568 242.918125 \n",
       "L 379.971023 242.918125 \n",
       "L 379.971023 180.850732 \n",
       "L 375.325568 180.850732 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_69\">\n",
       "    <path d=\"M 379.971023 242.918125 \n",
       "L 384.616477 242.918125 \n",
       "L 384.616477 189.95744 \n",
       "L 379.971023 189.95744 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_70\">\n",
       "    <path d=\"M 384.616477 242.918125 \n",
       "L 389.261932 242.918125 \n",
       "L 389.261932 198.251633 \n",
       "L 384.616477 198.251633 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_71\">\n",
       "    <path d=\"M 389.261932 242.918125 \n",
       "L 393.907386 242.918125 \n",
       "L 393.907386 205.902358 \n",
       "L 389.261932 205.902358 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_72\">\n",
       "    <path d=\"M 393.907386 242.918125 \n",
       "L 398.552841 242.918125 \n",
       "L 398.552841 211.917147 \n",
       "L 393.907386 211.917147 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_73\">\n",
       "    <path d=\"M 398.552841 242.918125 \n",
       "L 403.198295 242.918125 \n",
       "L 403.198295 216.901297 \n",
       "L 398.552841 216.901297 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_74\">\n",
       "    <path d=\"M 403.198295 242.918125 \n",
       "L 407.84375 242.918125 \n",
       "L 407.84375 221.683682 \n",
       "L 403.198295 221.683682 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_75\">\n",
       "    <path d=\"M 407.84375 242.918125 \n",
       "L 412.489205 242.918125 \n",
       "L 412.489205 226.520598 \n",
       "L 407.84375 226.520598 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_76\">\n",
       "    <path d=\"M 412.489205 242.918125 \n",
       "L 417.134659 242.918125 \n",
       "L 417.134659 229.568891 \n",
       "L 412.489205 229.568891 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_77\">\n",
       "    <path d=\"M 417.134659 242.918125 \n",
       "L 421.780114 242.918125 \n",
       "L 421.780114 231.87556 \n",
       "L 417.134659 231.87556 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_78\">\n",
       "    <path d=\"M 421.780114 242.918125 \n",
       "L 426.425568 242.918125 \n",
       "L 426.425568 234.269479 \n",
       "L 421.780114 234.269479 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_79\">\n",
       "    <path d=\"M 426.425568 242.918125 \n",
       "L 431.071023 242.918125 \n",
       "L 431.071023 236.483445 \n",
       "L 426.425568 236.483445 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_80\">\n",
       "    <path d=\"M 431.071023 242.918125 \n",
       "L 435.716477 242.918125 \n",
       "L 435.716477 238.004865 \n",
       "L 431.071023 238.004865 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_81\">\n",
       "    <path d=\"M 435.716477 242.918125 \n",
       "L 440.361932 242.918125 \n",
       "L 440.361932 239.199098 \n",
       "L 435.716477 239.199098 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_82\">\n",
       "    <path d=\"M 440.361932 242.918125 \n",
       "L 445.007386 242.918125 \n",
       "L 445.007386 239.853472 \n",
       "L 440.361932 239.853472 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_83\">\n",
       "    <path d=\"M 445.007386 242.918125 \n",
       "L 449.652841 242.918125 \n",
       "L 449.652841 240.611456 \n",
       "L 445.007386 240.611456 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_84\">\n",
       "    <path d=\"M 449.652841 242.918125 \n",
       "L 454.298295 242.918125 \n",
       "L 454.298295 241.205846 \n",
       "L 449.652841 241.205846 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_85\">\n",
       "    <path d=\"M 454.298295 242.918125 \n",
       "L 458.94375 242.918125 \n",
       "L 458.94375 241.522127 \n",
       "L 454.298295 241.522127 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_86\">\n",
       "    <path d=\"M 458.94375 242.918125 \n",
       "L 463.589205 242.918125 \n",
       "L 463.589205 242.132876 \n",
       "L 458.94375 242.132876 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_87\">\n",
       "    <path d=\"M 463.589205 242.918125 \n",
       "L 468.234659 242.918125 \n",
       "L 468.234659 242.160142 \n",
       "L 463.589205 242.160142 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_88\">\n",
       "    <path d=\"M 468.234659 242.918125 \n",
       "L 472.880114 242.918125 \n",
       "L 472.880114 242.503688 \n",
       "L 468.234659 242.503688 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_89\">\n",
       "    <path d=\"M 472.880114 242.918125 \n",
       "L 477.525568 242.918125 \n",
       "L 477.525568 242.503688 \n",
       "L 472.880114 242.503688 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_90\">\n",
       "    <path d=\"M 477.525568 242.918125 \n",
       "L 482.171023 242.918125 \n",
       "L 482.171023 242.61275 \n",
       "L 477.525568 242.61275 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_91\">\n",
       "    <path d=\"M 482.171023 242.918125 \n",
       "L 486.816477 242.918125 \n",
       "L 486.816477 242.759985 \n",
       "L 482.171023 242.759985 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_92\">\n",
       "    <path d=\"M 486.816477 242.918125 \n",
       "L 491.461932 242.918125 \n",
       "L 491.461932 242.749078 \n",
       "L 486.816477 242.749078 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_93\">\n",
       "    <path d=\"M 491.461932 242.918125 \n",
       "L 496.107386 242.918125 \n",
       "L 496.107386 242.825422 \n",
       "L 491.461932 242.825422 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_94\">\n",
       "    <path d=\"M 496.107386 242.918125 \n",
       "L 500.752841 242.918125 \n",
       "L 500.752841 242.890859 \n",
       "L 496.107386 242.890859 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_95\">\n",
       "    <path d=\"M 500.752841 242.918125 \n",
       "L 505.398295 242.918125 \n",
       "L 505.398295 242.901766 \n",
       "L 500.752841 242.901766 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_96\">\n",
       "    <path d=\"M 505.398295 242.918125 \n",
       "L 510.04375 242.918125 \n",
       "L 510.04375 242.890859 \n",
       "L 505.398295 242.890859 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_97\">\n",
       "    <path d=\"M 510.04375 242.918125 \n",
       "L 514.689205 242.918125 \n",
       "L 514.689205 242.907219 \n",
       "L 510.04375 242.907219 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_98\">\n",
       "    <path d=\"M 514.689205 242.918125 \n",
       "L 519.334659 242.918125 \n",
       "L 519.334659 242.912672 \n",
       "L 514.689205 242.912672 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_99\">\n",
       "    <path d=\"M 519.334659 242.918125 \n",
       "L 523.980114 242.918125 \n",
       "L 523.980114 242.918125 \n",
       "L 519.334659 242.918125 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_100\">\n",
       "    <path d=\"M 523.980114 242.918125 \n",
       "L 528.625568 242.918125 \n",
       "L 528.625568 242.912672 \n",
       "L 523.980114 242.912672 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_101\">\n",
       "    <path d=\"M 528.625568 242.918125 \n",
       "L 533.271023 242.918125 \n",
       "L 533.271023 242.912672 \n",
       "L 528.625568 242.912672 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_102\">\n",
       "    <path d=\"M 533.271023 242.918125 \n",
       "L 537.916477 242.918125 \n",
       "L 537.916477 242.912672 \n",
       "L 533.271023 242.912672 \n",
       "z\n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <path d=\"M 109.828874 242.918125 \n",
       "L 109.828874 22.318125 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_2\">\n",
       "      <defs>\n",
       "       <path id=\"m0db050381d\" d=\"M 0 0 \n",
       "L 0 3.5 \n",
       "\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m0db050381d\" x=\"109.828874\" y=\"242.918125\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      <!-- −4 -->\n",
       "      <g transform=\"translate(102.45778 257.516563) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-2212\" d=\"M 678 2272 \n",
       "L 4684 2272 \n",
       "L 4684 1741 \n",
       "L 678 1741 \n",
       "L 678 2272 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "        <path id=\"DejaVuSans-34\" d=\"M 2419 4116 \n",
       "L 825 1625 \n",
       "L 2419 1625 \n",
       "L 2419 4116 \n",
       "z\n",
       "M 2253 4666 \n",
       "L 3047 4666 \n",
       "L 3047 1625 \n",
       "L 3713 1625 \n",
       "L 3713 1100 \n",
       "L 3047 1100 \n",
       "L 3047 0 \n",
       "L 2419 0 \n",
       "L 2419 1100 \n",
       "L 313 1100 \n",
       "L 313 1709 \n",
       "L 2253 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-2212\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-34\" x=\"83.789062\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <path d=\"M 206.043159 242.918125 \n",
       "L 206.043159 22.318125 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_4\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m0db050381d\" x=\"206.043159\" y=\"242.918125\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      <!-- −2 -->\n",
       "      <g transform=\"translate(198.672066 257.516563) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-32\" d=\"M 1228 531 \n",
       "L 3431 531 \n",
       "L 3431 0 \n",
       "L 469 0 \n",
       "L 469 531 \n",
       "Q 828 903 1448 1529 \n",
       "Q 2069 2156 2228 2338 \n",
       "Q 2531 2678 2651 2914 \n",
       "Q 2772 3150 2772 3378 \n",
       "Q 2772 3750 2511 3984 \n",
       "Q 2250 4219 1831 4219 \n",
       "Q 1534 4219 1204 4116 \n",
       "Q 875 4013 500 3803 \n",
       "L 500 4441 \n",
       "Q 881 4594 1212 4672 \n",
       "Q 1544 4750 1819 4750 \n",
       "Q 2544 4750 2975 4387 \n",
       "Q 3406 4025 3406 3419 \n",
       "Q 3406 3131 3298 2873 \n",
       "Q 3191 2616 2906 2266 \n",
       "Q 2828 2175 2409 1742 \n",
       "Q 1991 1309 1228 531 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-2212\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-32\" x=\"83.789062\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <path d=\"M 302.257444 242.918125 \n",
       "L 302.257444 22.318125 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_6\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m0db050381d\" x=\"302.257444\" y=\"242.918125\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      <!-- 0 -->\n",
       "      <g transform=\"translate(299.076194 257.516563) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-30\" d=\"M 2034 4250 \n",
       "Q 1547 4250 1301 3770 \n",
       "Q 1056 3291 1056 2328 \n",
       "Q 1056 1369 1301 889 \n",
       "Q 1547 409 2034 409 \n",
       "Q 2525 409 2770 889 \n",
       "Q 3016 1369 3016 2328 \n",
       "Q 3016 3291 2770 3770 \n",
       "Q 2525 4250 2034 4250 \n",
       "z\n",
       "M 2034 4750 \n",
       "Q 2819 4750 3233 4129 \n",
       "Q 3647 3509 3647 2328 \n",
       "Q 3647 1150 3233 529 \n",
       "Q 2819 -91 2034 -91 \n",
       "Q 1250 -91 836 529 \n",
       "Q 422 1150 422 2328 \n",
       "Q 422 3509 836 4129 \n",
       "Q 1250 4750 2034 4750 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_4\">\n",
       "     <g id=\"line2d_7\">\n",
       "      <path d=\"M 398.471729 242.918125 \n",
       "L 398.471729 22.318125 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_8\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m0db050381d\" x=\"398.471729\" y=\"242.918125\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_4\">\n",
       "      <!-- 2 -->\n",
       "      <g transform=\"translate(395.290479 257.516563) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-32\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_5\">\n",
       "     <g id=\"line2d_9\">\n",
       "      <path d=\"M 494.686015 242.918125 \n",
       "L 494.686015 22.318125 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_10\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m0db050381d\" x=\"494.686015\" y=\"242.918125\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      <!-- 4 -->\n",
       "      <g transform=\"translate(491.504765 257.516563) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-34\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_6\">\n",
       "     <!-- Value -->\n",
       "     <g transform=\"translate(291.9125 271.194687) scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path id=\"DejaVuSans-56\" d=\"M 1831 0 \n",
       "L 50 4666 \n",
       "L 709 4666 \n",
       "L 2188 738 \n",
       "L 3669 4666 \n",
       "L 4325 4666 \n",
       "L 2547 0 \n",
       "L 1831 0 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-61\" d=\"M 2194 1759 \n",
       "Q 1497 1759 1228 1600 \n",
       "Q 959 1441 959 1056 \n",
       "Q 959 750 1161 570 \n",
       "Q 1363 391 1709 391 \n",
       "Q 2188 391 2477 730 \n",
       "Q 2766 1069 2766 1631 \n",
       "L 2766 1759 \n",
       "L 2194 1759 \n",
       "z\n",
       "M 3341 1997 \n",
       "L 3341 0 \n",
       "L 2766 0 \n",
       "L 2766 531 \n",
       "Q 2569 213 2275 61 \n",
       "Q 1981 -91 1556 -91 \n",
       "Q 1019 -91 701 211 \n",
       "Q 384 513 384 1019 \n",
       "Q 384 1609 779 1909 \n",
       "Q 1175 2209 1959 2209 \n",
       "L 2766 2209 \n",
       "L 2766 2266 \n",
       "Q 2766 2663 2505 2880 \n",
       "Q 2244 3097 1772 3097 \n",
       "Q 1472 3097 1187 3025 \n",
       "Q 903 2953 641 2809 \n",
       "L 641 3341 \n",
       "Q 956 3463 1253 3523 \n",
       "Q 1550 3584 1831 3584 \n",
       "Q 2591 3584 2966 3190 \n",
       "Q 3341 2797 3341 1997 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-6c\" d=\"M 603 4863 \n",
       "L 1178 4863 \n",
       "L 1178 0 \n",
       "L 603 0 \n",
       "L 603 4863 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-75\" d=\"M 544 1381 \n",
       "L 544 3500 \n",
       "L 1119 3500 \n",
       "L 1119 1403 \n",
       "Q 1119 906 1312 657 \n",
       "Q 1506 409 1894 409 \n",
       "Q 2359 409 2629 706 \n",
       "Q 2900 1003 2900 1516 \n",
       "L 2900 3500 \n",
       "L 3475 3500 \n",
       "L 3475 0 \n",
       "L 2900 0 \n",
       "L 2900 538 \n",
       "Q 2691 219 2414 64 \n",
       "Q 2138 -91 1772 -91 \n",
       "Q 1169 -91 856 284 \n",
       "Q 544 659 544 1381 \n",
       "z\n",
       "M 1991 3584 \n",
       "L 1991 3584 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-65\" d=\"M 3597 1894 \n",
       "L 3597 1613 \n",
       "L 953 1613 \n",
       "Q 991 1019 1311 708 \n",
       "Q 1631 397 2203 397 \n",
       "Q 2534 397 2845 478 \n",
       "Q 3156 559 3463 722 \n",
       "L 3463 178 \n",
       "Q 3153 47 2828 -22 \n",
       "Q 2503 -91 2169 -91 \n",
       "Q 1331 -91 842 396 \n",
       "Q 353 884 353 1716 \n",
       "Q 353 2575 817 3079 \n",
       "Q 1281 3584 2069 3584 \n",
       "Q 2775 3584 3186 3129 \n",
       "Q 3597 2675 3597 1894 \n",
       "z\n",
       "M 3022 2063 \n",
       "Q 3016 2534 2758 2815 \n",
       "Q 2500 3097 2075 3097 \n",
       "Q 1594 3097 1305 2825 \n",
       "Q 1016 2553 972 2059 \n",
       "L 3022 2063 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      </defs>\n",
       "      <use xlink:href=\"#DejaVuSans-56\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-61\" x=\"60.658203\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6c\" x=\"121.9375\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-75\" x=\"149.720703\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-65\" x=\"213.099609\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_11\">\n",
       "      <path d=\"M 50.14375 242.918125 \n",
       "L 561.14375 242.918125 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_12\">\n",
       "      <defs>\n",
       "       <path id=\"m2e8c6d8517\" d=\"M 0 0 \n",
       "L -3.5 0 \n",
       "\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"242.918125\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_7\">\n",
       "      <!-- 0.00 -->\n",
       "      <g transform=\"translate(20.878125 246.717344) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-2e\" d=\"M 684 794 \n",
       "L 1344 794 \n",
       "L 1344 0 \n",
       "L 684 0 \n",
       "L 684 794 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_13\">\n",
       "      <path d=\"M 50.14375 216.589173 \n",
       "L 561.14375 216.589173 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_14\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"216.589173\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_8\">\n",
       "      <!-- 0.05 -->\n",
       "      <g transform=\"translate(20.878125 220.388391) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-35\" d=\"M 691 4666 \n",
       "L 3169 4666 \n",
       "L 3169 4134 \n",
       "L 1269 4134 \n",
       "L 1269 2991 \n",
       "Q 1406 3038 1543 3061 \n",
       "Q 1681 3084 1819 3084 \n",
       "Q 2600 3084 3056 2656 \n",
       "Q 3513 2228 3513 1497 \n",
       "Q 3513 744 3044 326 \n",
       "Q 2575 -91 1722 -91 \n",
       "Q 1428 -91 1123 -41 \n",
       "Q 819 9 494 109 \n",
       "L 494 744 \n",
       "Q 775 591 1075 516 \n",
       "Q 1375 441 1709 441 \n",
       "Q 2250 441 2565 725 \n",
       "Q 2881 1009 2881 1497 \n",
       "Q 2881 1984 2565 2268 \n",
       "Q 2250 2553 1709 2553 \n",
       "Q 1456 2553 1204 2497 \n",
       "Q 953 2441 691 2322 \n",
       "L 691 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-35\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_3\">\n",
       "     <g id=\"line2d_15\">\n",
       "      <path d=\"M 50.14375 190.26022 \n",
       "L 561.14375 190.26022 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_16\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"190.26022\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_9\">\n",
       "      <!-- 0.10 -->\n",
       "      <g transform=\"translate(20.878125 194.059439) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-31\" d=\"M 794 531 \n",
       "L 1825 531 \n",
       "L 1825 4091 \n",
       "L 703 3866 \n",
       "L 703 4441 \n",
       "L 1819 4666 \n",
       "L 2450 4666 \n",
       "L 2450 531 \n",
       "L 3481 531 \n",
       "L 3481 0 \n",
       "L 794 0 \n",
       "L 794 531 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-31\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_4\">\n",
       "     <g id=\"line2d_17\">\n",
       "      <path d=\"M 50.14375 163.931268 \n",
       "L 561.14375 163.931268 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_18\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"163.931268\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_10\">\n",
       "      <!-- 0.15 -->\n",
       "      <g transform=\"translate(20.878125 167.730486) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-31\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-35\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_5\">\n",
       "     <g id=\"line2d_19\">\n",
       "      <path d=\"M 50.14375 137.602315 \n",
       "L 561.14375 137.602315 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_20\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"137.602315\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_11\">\n",
       "      <!-- 0.20 -->\n",
       "      <g transform=\"translate(20.878125 141.401534) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-32\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_6\">\n",
       "     <g id=\"line2d_21\">\n",
       "      <path d=\"M 50.14375 111.273363 \n",
       "L 561.14375 111.273363 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_22\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"111.273363\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_12\">\n",
       "      <!-- 0.25 -->\n",
       "      <g transform=\"translate(20.878125 115.072582) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-32\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-35\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_7\">\n",
       "     <g id=\"line2d_23\">\n",
       "      <path d=\"M 50.14375 84.94441 \n",
       "L 561.14375 84.94441 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_24\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"84.94441\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_13\">\n",
       "      <!-- 0.30 -->\n",
       "      <g transform=\"translate(20.878125 88.743629) scale(0.1 -0.1)\">\n",
       "       <defs>\n",
       "        <path id=\"DejaVuSans-33\" d=\"M 2597 2516 \n",
       "Q 3050 2419 3304 2112 \n",
       "Q 3559 1806 3559 1356 \n",
       "Q 3559 666 3084 287 \n",
       "Q 2609 -91 1734 -91 \n",
       "Q 1441 -91 1130 -33 \n",
       "Q 819 25 488 141 \n",
       "L 488 750 \n",
       "Q 750 597 1062 519 \n",
       "Q 1375 441 1716 441 \n",
       "Q 2309 441 2620 675 \n",
       "Q 2931 909 2931 1356 \n",
       "Q 2931 1769 2642 2001 \n",
       "Q 2353 2234 1838 2234 \n",
       "L 1294 2234 \n",
       "L 1294 2753 \n",
       "L 1863 2753 \n",
       "Q 2328 2753 2575 2939 \n",
       "Q 2822 3125 2822 3475 \n",
       "Q 2822 3834 2567 4026 \n",
       "Q 2313 4219 1838 4219 \n",
       "Q 1578 4219 1281 4162 \n",
       "Q 984 4106 628 3988 \n",
       "L 628 4550 \n",
       "Q 988 4650 1302 4700 \n",
       "Q 1616 4750 1894 4750 \n",
       "Q 2613 4750 3031 4423 \n",
       "Q 3450 4097 3450 3541 \n",
       "Q 3450 3153 3228 2886 \n",
       "Q 3006 2619 2597 2516 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       </defs>\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-33\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_8\">\n",
       "     <g id=\"line2d_25\">\n",
       "      <path d=\"M 50.14375 58.615458 \n",
       "L 561.14375 58.615458 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_26\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"58.615458\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_14\">\n",
       "      <!-- 0.35 -->\n",
       "      <g transform=\"translate(20.878125 62.414677) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-33\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-35\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_9\">\n",
       "     <g id=\"line2d_27\">\n",
       "      <path d=\"M 50.14375 32.286506 \n",
       "L 561.14375 32.286506 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #b0b0b0; stroke-opacity: 0.3; stroke-width: 0.8; stroke-linecap: square\"/>\n",
       "     </g>\n",
       "     <g id=\"line2d_28\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m2e8c6d8517\" x=\"50.14375\" y=\"32.286506\" style=\"stroke: #000000; stroke-width: 0.8\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_15\">\n",
       "      <!-- 0.40 -->\n",
       "      <g transform=\"translate(20.878125 36.085724) scale(0.1 -0.1)\">\n",
       "       <use xlink:href=\"#DejaVuSans-30\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-2e\" x=\"63.623047\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-34\" x=\"95.410156\"/>\n",
       "       <use xlink:href=\"#DejaVuSans-30\" x=\"159.033203\"/>\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_16\">\n",
       "     <!-- Probability Density -->\n",
       "     <g transform=\"translate(14.798438 179.644688) rotate(-90) scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path id=\"DejaVuSans-50\" d=\"M 1259 4147 \n",
       "L 1259 2394 \n",
       "L 2053 2394 \n",
       "Q 2494 2394 2734 2622 \n",
       "Q 2975 2850 2975 3272 \n",
       "Q 2975 3691 2734 3919 \n",
       "Q 2494 4147 2053 4147 \n",
       "L 1259 4147 \n",
       "z\n",
       "M 628 4666 \n",
       "L 2053 4666 \n",
       "Q 2838 4666 3239 4311 \n",
       "Q 3641 3956 3641 3272 \n",
       "Q 3641 2581 3239 2228 \n",
       "Q 2838 1875 2053 1875 \n",
       "L 1259 1875 \n",
       "L 1259 0 \n",
       "L 628 0 \n",
       "L 628 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-72\" d=\"M 2631 2963 \n",
       "Q 2534 3019 2420 3045 \n",
       "Q 2306 3072 2169 3072 \n",
       "Q 1681 3072 1420 2755 \n",
       "Q 1159 2438 1159 1844 \n",
       "L 1159 0 \n",
       "L 581 0 \n",
       "L 581 3500 \n",
       "L 1159 3500 \n",
       "L 1159 2956 \n",
       "Q 1341 3275 1631 3429 \n",
       "Q 1922 3584 2338 3584 \n",
       "Q 2397 3584 2469 3576 \n",
       "Q 2541 3569 2628 3553 \n",
       "L 2631 2963 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-6f\" d=\"M 1959 3097 \n",
       "Q 1497 3097 1228 2736 \n",
       "Q 959 2375 959 1747 \n",
       "Q 959 1119 1226 758 \n",
       "Q 1494 397 1959 397 \n",
       "Q 2419 397 2687 759 \n",
       "Q 2956 1122 2956 1747 \n",
       "Q 2956 2369 2687 2733 \n",
       "Q 2419 3097 1959 3097 \n",
       "z\n",
       "M 1959 3584 \n",
       "Q 2709 3584 3137 3096 \n",
       "Q 3566 2609 3566 1747 \n",
       "Q 3566 888 3137 398 \n",
       "Q 2709 -91 1959 -91 \n",
       "Q 1206 -91 779 398 \n",
       "Q 353 888 353 1747 \n",
       "Q 353 2609 779 3096 \n",
       "Q 1206 3584 1959 3584 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-62\" d=\"M 3116 1747 \n",
       "Q 3116 2381 2855 2742 \n",
       "Q 2594 3103 2138 3103 \n",
       "Q 1681 3103 1420 2742 \n",
       "Q 1159 2381 1159 1747 \n",
       "Q 1159 1113 1420 752 \n",
       "Q 1681 391 2138 391 \n",
       "Q 2594 391 2855 752 \n",
       "Q 3116 1113 3116 1747 \n",
       "z\n",
       "M 1159 2969 \n",
       "Q 1341 3281 1617 3432 \n",
       "Q 1894 3584 2278 3584 \n",
       "Q 2916 3584 3314 3078 \n",
       "Q 3713 2572 3713 1747 \n",
       "Q 3713 922 3314 415 \n",
       "Q 2916 -91 2278 -91 \n",
       "Q 1894 -91 1617 61 \n",
       "Q 1341 213 1159 525 \n",
       "L 1159 0 \n",
       "L 581 0 \n",
       "L 581 4863 \n",
       "L 1159 4863 \n",
       "L 1159 2969 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-69\" d=\"M 603 3500 \n",
       "L 1178 3500 \n",
       "L 1178 0 \n",
       "L 603 0 \n",
       "L 603 3500 \n",
       "z\n",
       "M 603 4863 \n",
       "L 1178 4863 \n",
       "L 1178 4134 \n",
       "L 603 4134 \n",
       "L 603 4863 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-74\" d=\"M 1172 4494 \n",
       "L 1172 3500 \n",
       "L 2356 3500 \n",
       "L 2356 3053 \n",
       "L 1172 3053 \n",
       "L 1172 1153 \n",
       "Q 1172 725 1289 603 \n",
       "Q 1406 481 1766 481 \n",
       "L 2356 481 \n",
       "L 2356 0 \n",
       "L 1766 0 \n",
       "Q 1100 0 847 248 \n",
       "Q 594 497 594 1153 \n",
       "L 594 3053 \n",
       "L 172 3053 \n",
       "L 172 3500 \n",
       "L 594 3500 \n",
       "L 594 4494 \n",
       "L 1172 4494 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-79\" d=\"M 2059 -325 \n",
       "Q 1816 -950 1584 -1140 \n",
       "Q 1353 -1331 966 -1331 \n",
       "L 506 -1331 \n",
       "L 506 -850 \n",
       "L 844 -850 \n",
       "Q 1081 -850 1212 -737 \n",
       "Q 1344 -625 1503 -206 \n",
       "L 1606 56 \n",
       "L 191 3500 \n",
       "L 800 3500 \n",
       "L 1894 763 \n",
       "L 2988 3500 \n",
       "L 3597 3500 \n",
       "L 2059 -325 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-20\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-44\" d=\"M 1259 4147 \n",
       "L 1259 519 \n",
       "L 2022 519 \n",
       "Q 2988 519 3436 956 \n",
       "Q 3884 1394 3884 2338 \n",
       "Q 3884 3275 3436 3711 \n",
       "Q 2988 4147 2022 4147 \n",
       "L 1259 4147 \n",
       "z\n",
       "M 628 4666 \n",
       "L 1925 4666 \n",
       "Q 3281 4666 3915 4102 \n",
       "Q 4550 3538 4550 2338 \n",
       "Q 4550 1131 3912 565 \n",
       "Q 3275 0 1925 0 \n",
       "L 628 0 \n",
       "L 628 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-6e\" d=\"M 3513 2113 \n",
       "L 3513 0 \n",
       "L 2938 0 \n",
       "L 2938 2094 \n",
       "Q 2938 2591 2744 2837 \n",
       "Q 2550 3084 2163 3084 \n",
       "Q 1697 3084 1428 2787 \n",
       "Q 1159 2491 1159 1978 \n",
       "L 1159 0 \n",
       "L 581 0 \n",
       "L 581 3500 \n",
       "L 1159 3500 \n",
       "L 1159 2956 \n",
       "Q 1366 3272 1645 3428 \n",
       "Q 1925 3584 2291 3584 \n",
       "Q 2894 3584 3203 3211 \n",
       "Q 3513 2838 3513 2113 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "       <path id=\"DejaVuSans-73\" d=\"M 2834 3397 \n",
       "L 2834 2853 \n",
       "Q 2591 2978 2328 3040 \n",
       "Q 2066 3103 1784 3103 \n",
       "Q 1356 3103 1142 2972 \n",
       "Q 928 2841 928 2578 \n",
       "Q 928 2378 1081 2264 \n",
       "Q 1234 2150 1697 2047 \n",
       "L 1894 2003 \n",
       "Q 2506 1872 2764 1633 \n",
       "Q 3022 1394 3022 966 \n",
       "Q 3022 478 2636 193 \n",
       "Q 2250 -91 1575 -91 \n",
       "Q 1294 -91 989 -36 \n",
       "Q 684 19 347 128 \n",
       "L 347 722 \n",
       "Q 666 556 975 473 \n",
       "Q 1284 391 1588 391 \n",
       "Q 1994 391 2212 530 \n",
       "Q 2431 669 2431 922 \n",
       "Q 2431 1156 2273 1281 \n",
       "Q 2116 1406 1581 1522 \n",
       "L 1381 1569 \n",
       "Q 847 1681 609 1914 \n",
       "Q 372 2147 372 2553 \n",
       "Q 372 3047 722 3315 \n",
       "Q 1072 3584 1716 3584 \n",
       "Q 2034 3584 2315 3537 \n",
       "Q 2597 3491 2834 3397 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      </defs>\n",
       "      <use xlink:href=\"#DejaVuSans-50\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-72\" x=\"58.552734\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6f\" x=\"97.416016\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-62\" x=\"158.597656\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-61\" x=\"222.074219\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-62\" x=\"283.353516\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-69\" x=\"346.830078\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6c\" x=\"374.613281\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-69\" x=\"402.396484\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-74\" x=\"430.179688\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-79\" x=\"469.388672\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-20\" x=\"528.568359\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-44\" x=\"560.355469\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-65\" x=\"637.357422\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6e\" x=\"698.880859\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-73\" x=\"762.259766\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-69\" x=\"814.359375\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-74\" x=\"842.142578\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-79\" x=\"881.351562\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"line2d_29\">\n",
       "    <path d=\"M 73.371023 242.915589 \n",
       "L 116.667451 242.795506 \n",
       "L 131.099594 242.545 \n",
       "L 140.721022 242.172823 \n",
       "L 148.418165 241.658607 \n",
       "L 154.672094 241.025075 \n",
       "L 159.963879 240.28081 \n",
       "L 164.774594 239.390276 \n",
       "L 169.104236 238.373383 \n",
       "L 172.952808 237.264429 \n",
       "L 176.801379 235.929758 \n",
       "L 180.168879 234.549905 \n",
       "L 183.536379 232.946591 \n",
       "L 186.903879 231.094181 \n",
       "L 190.271379 228.966194 \n",
       "L 193.638879 226.535714 \n",
       "L 196.525308 224.191312 \n",
       "L 199.411736 221.588356 \n",
       "L 202.298165 218.710918 \n",
       "L 205.184593 215.544052 \n",
       "L 208.071022 212.074146 \n",
       "L 210.95745 208.289312 \n",
       "L 213.843879 204.179782 \n",
       "L 217.211379 198.965453 \n",
       "L 220.578879 193.293063 \n",
       "L 223.946379 187.162539 \n",
       "L 227.313879 180.580933 \n",
       "L 231.16245 172.526255 \n",
       "L 235.011022 163.938015 \n",
       "L 239.340664 153.702822 \n",
       "L 244.151379 141.733495 \n",
       "L 250.405307 125.509957 \n",
       "L 264.83745 87.779396 \n",
       "L 269.167093 77.187247 \n",
       "L 273.015664 68.357687 \n",
       "L 276.383164 61.203485 \n",
       "L 279.269593 55.570619 \n",
       "L 282.156021 50.457388 \n",
       "L 284.561378 46.630559 \n",
       "L 286.966736 43.227588 \n",
       "L 288.891021 40.826947 \n",
       "L 290.815307 38.724482 \n",
       "L 292.739593 36.930054 \n",
       "L 294.663878 35.452134 \n",
       "L 296.588164 34.297736 \n",
       "L 298.031378 33.647617 \n",
       "L 299.474593 33.184354 \n",
       "L 300.917807 32.909197 \n",
       "L 302.361021 32.822887 \n",
       "L 303.804235 32.925657 \n",
       "L 305.24745 33.21723 \n",
       "L 306.690664 33.69682 \n",
       "L 308.133878 34.363133 \n",
       "L 310.058164 35.538844 \n",
       "L 311.98245 37.037664 \n",
       "L 313.906735 38.852482 \n",
       "L 315.831021 40.974735 \n",
       "L 317.755307 43.394474 \n",
       "L 320.160664 46.820219 \n",
       "L 322.566021 50.668467 \n",
       "L 324.971378 54.911893 \n",
       "L 327.857807 60.483699 \n",
       "L 330.744235 66.526658 \n",
       "L 334.111735 74.094307 \n",
       "L 337.960307 83.307047 \n",
       "L 342.771021 95.452687 \n",
       "L 349.987092 114.393472 \n",
       "L 359.608521 139.599635 \n",
       "L 364.900306 152.838359 \n",
       "L 369.229949 163.119677 \n",
       "L 373.078521 171.754847 \n",
       "L 376.927092 179.860529 \n",
       "L 380.294592 186.489016 \n",
       "L 383.662092 192.66761 \n",
       "L 387.029592 198.388466 \n",
       "L 390.397092 203.650941 \n",
       "L 393.764592 208.460789 \n",
       "L 397.132092 212.829305 \n",
       "L 400.018521 216.23446 \n",
       "L 402.904949 219.339308 \n",
       "L 405.791378 222.157769 \n",
       "L 408.677806 224.705028 \n",
       "L 411.564235 226.997173 \n",
       "L 414.931735 229.371159 \n",
       "L 418.299235 231.447513 \n",
       "L 421.666735 233.253107 \n",
       "L 425.034235 234.814295 \n",
       "L 428.882806 236.331828 \n",
       "L 432.731377 237.599342 \n",
       "L 437.06102 238.768044 \n",
       "L 441.390663 239.706074 \n",
       "L 446.201377 240.524711 \n",
       "L 451.493163 241.206298 \n",
       "L 457.747092 241.784002 \n",
       "L 464.963163 242.227518 \n",
       "L 474.10352 242.561408 \n",
       "L 486.611377 242.781886 \n",
       "L 507.297448 242.894218 \n",
       "L 537.604948 242.916788 \n",
       "L 537.604948 242.916788 \n",
       "\" clip-path=\"url(#p9f7de442e2)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 2; stroke-linecap: square\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_103\">\n",
       "    <path d=\"M 50.14375 242.918125 \n",
       "L 50.14375 22.318125 \n",
       "\" style=\"fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_104\">\n",
       "    <path d=\"M 561.14375 242.918125 \n",
       "L 561.14375 22.318125 \n",
       "\" style=\"fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_105\">\n",
       "    <path d=\"M 50.14375 242.918125 \n",
       "L 561.14375 242.918125 \n",
       "\" style=\"fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square\"/>\n",
       "   </g>\n",
       "   <g id=\"patch_106\">\n",
       "    <path d=\"M 50.14375 22.318125 \n",
       "L 561.14375 22.318125 \n",
       "\" style=\"fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square\"/>\n",
       "   </g>\n",
       "   <g id=\"text_17\">\n",
       "    <!-- Normal Distribution: Theoretical vs Empirical -->\n",
       "    <g transform=\"translate(171.2025 16.318125) scale(0.12 -0.12)\">\n",
       "     <defs>\n",
       "      <path id=\"DejaVuSans-4e\" d=\"M 628 4666 \n",
       "L 1478 4666 \n",
       "L 3547 763 \n",
       "L 3547 4666 \n",
       "L 4159 4666 \n",
       "L 4159 0 \n",
       "L 3309 0 \n",
       "L 1241 3903 \n",
       "L 1241 0 \n",
       "L 628 0 \n",
       "L 628 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-6d\" d=\"M 3328 2828 \n",
       "Q 3544 3216 3844 3400 \n",
       "Q 4144 3584 4550 3584 \n",
       "Q 5097 3584 5394 3201 \n",
       "Q 5691 2819 5691 2113 \n",
       "L 5691 0 \n",
       "L 5113 0 \n",
       "L 5113 2094 \n",
       "Q 5113 2597 4934 2840 \n",
       "Q 4756 3084 4391 3084 \n",
       "Q 3944 3084 3684 2787 \n",
       "Q 3425 2491 3425 1978 \n",
       "L 3425 0 \n",
       "L 2847 0 \n",
       "L 2847 2094 \n",
       "Q 2847 2600 2669 2842 \n",
       "Q 2491 3084 2119 3084 \n",
       "Q 1678 3084 1418 2786 \n",
       "Q 1159 2488 1159 1978 \n",
       "L 1159 0 \n",
       "L 581 0 \n",
       "L 581 3500 \n",
       "L 1159 3500 \n",
       "L 1159 2956 \n",
       "Q 1356 3278 1631 3431 \n",
       "Q 1906 3584 2284 3584 \n",
       "Q 2666 3584 2933 3390 \n",
       "Q 3200 3197 3328 2828 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-3a\" d=\"M 750 794 \n",
       "L 1409 794 \n",
       "L 1409 0 \n",
       "L 750 0 \n",
       "L 750 794 \n",
       "z\n",
       "M 750 3309 \n",
       "L 1409 3309 \n",
       "L 1409 2516 \n",
       "L 750 2516 \n",
       "L 750 3309 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-54\" d=\"M -19 4666 \n",
       "L 3928 4666 \n",
       "L 3928 4134 \n",
       "L 2272 4134 \n",
       "L 2272 0 \n",
       "L 1638 0 \n",
       "L 1638 4134 \n",
       "L -19 4134 \n",
       "L -19 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-68\" d=\"M 3513 2113 \n",
       "L 3513 0 \n",
       "L 2938 0 \n",
       "L 2938 2094 \n",
       "Q 2938 2591 2744 2837 \n",
       "Q 2550 3084 2163 3084 \n",
       "Q 1697 3084 1428 2787 \n",
       "Q 1159 2491 1159 1978 \n",
       "L 1159 0 \n",
       "L 581 0 \n",
       "L 581 4863 \n",
       "L 1159 4863 \n",
       "L 1159 2956 \n",
       "Q 1366 3272 1645 3428 \n",
       "Q 1925 3584 2291 3584 \n",
       "Q 2894 3584 3203 3211 \n",
       "Q 3513 2838 3513 2113 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-63\" d=\"M 3122 3366 \n",
       "L 3122 2828 \n",
       "Q 2878 2963 2633 3030 \n",
       "Q 2388 3097 2138 3097 \n",
       "Q 1578 3097 1268 2742 \n",
       "Q 959 2388 959 1747 \n",
       "Q 959 1106 1268 751 \n",
       "Q 1578 397 2138 397 \n",
       "Q 2388 397 2633 464 \n",
       "Q 2878 531 3122 666 \n",
       "L 3122 134 \n",
       "Q 2881 22 2623 -34 \n",
       "Q 2366 -91 2075 -91 \n",
       "Q 1284 -91 818 406 \n",
       "Q 353 903 353 1747 \n",
       "Q 353 2603 823 3093 \n",
       "Q 1294 3584 2113 3584 \n",
       "Q 2378 3584 2631 3529 \n",
       "Q 2884 3475 3122 3366 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-76\" d=\"M 191 3500 \n",
       "L 800 3500 \n",
       "L 1894 563 \n",
       "L 2988 3500 \n",
       "L 3597 3500 \n",
       "L 2284 0 \n",
       "L 1503 0 \n",
       "L 191 3500 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-45\" d=\"M 628 4666 \n",
       "L 3578 4666 \n",
       "L 3578 4134 \n",
       "L 1259 4134 \n",
       "L 1259 2753 \n",
       "L 3481 2753 \n",
       "L 3481 2222 \n",
       "L 1259 2222 \n",
       "L 1259 531 \n",
       "L 3634 531 \n",
       "L 3634 0 \n",
       "L 628 0 \n",
       "L 628 4666 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "      <path id=\"DejaVuSans-70\" d=\"M 1159 525 \n",
       "L 1159 -1331 \n",
       "L 581 -1331 \n",
       "L 581 3500 \n",
       "L 1159 3500 \n",
       "L 1159 2969 \n",
       "Q 1341 3281 1617 3432 \n",
       "Q 1894 3584 2278 3584 \n",
       "Q 2916 3584 3314 3078 \n",
       "Q 3713 2572 3713 1747 \n",
       "Q 3713 922 3314 415 \n",
       "Q 2916 -91 2278 -91 \n",
       "Q 1894 -91 1617 61 \n",
       "Q 1341 213 1159 525 \n",
       "z\n",
       "M 3116 1747 \n",
       "Q 3116 2381 2855 2742 \n",
       "Q 2594 3103 2138 3103 \n",
       "Q 1681 3103 1420 2742 \n",
       "Q 1159 2381 1159 1747 \n",
       "Q 1159 1113 1420 752 \n",
       "Q 1681 391 2138 391 \n",
       "Q 2594 391 2855 752 \n",
       "Q 3116 1113 3116 1747 \n",
       "z\n",
       "\" transform=\"scale(0.015625)\"/>\n",
       "     </defs>\n",
       "     <use xlink:href=\"#DejaVuSans-4e\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6f\" x=\"74.804688\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-72\" x=\"135.986328\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6d\" x=\"175.349609\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-61\" x=\"272.761719\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6c\" x=\"334.041016\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-20\" x=\"361.824219\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-44\" x=\"393.611328\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-69\" x=\"470.613281\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-73\" x=\"498.396484\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-74\" x=\"550.496094\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-72\" x=\"589.705078\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-69\" x=\"630.818359\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-62\" x=\"658.601562\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-75\" x=\"722.078125\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-74\" x=\"785.457031\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-69\" x=\"824.666016\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6f\" x=\"852.449219\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6e\" x=\"913.630859\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-3a\" x=\"977.009766\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-20\" x=\"1010.701172\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-54\" x=\"1042.488281\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-68\" x=\"1103.572266\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-65\" x=\"1166.951172\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6f\" x=\"1228.474609\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-72\" x=\"1289.65625\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-65\" x=\"1328.519531\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-74\" x=\"1390.042969\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-69\" x=\"1429.251953\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-63\" x=\"1457.035156\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-61\" x=\"1512.015625\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6c\" x=\"1573.294922\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-20\" x=\"1601.078125\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-76\" x=\"1632.865234\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-73\" x=\"1692.044922\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-20\" x=\"1744.144531\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-45\" x=\"1775.931641\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6d\" x=\"1839.115234\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-70\" x=\"1936.527344\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-69\" x=\"2000.003906\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-72\" x=\"2027.787109\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-69\" x=\"2068.900391\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-63\" x=\"2096.683594\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-61\" x=\"2151.664062\"/>\n",
       "     <use xlink:href=\"#DejaVuSans-6c\" x=\"2212.943359\"/>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"legend_1\">\n",
       "    <g id=\"patch_107\">\n",
       "     <path d=\"M 466.284375 59.674375 \n",
       "L 554.14375 59.674375 \n",
       "Q 556.14375 59.674375 556.14375 57.674375 \n",
       "L 556.14375 29.318125 \n",
       "Q 556.14375 27.318125 554.14375 27.318125 \n",
       "L 466.284375 27.318125 \n",
       "Q 464.284375 27.318125 464.284375 29.318125 \n",
       "L 464.284375 57.674375 \n",
       "Q 464.284375 59.674375 466.284375 59.674375 \n",
       "z\n",
       "\" style=\"fill: #ffffff; opacity: 0.8; stroke: #cccccc; stroke-linejoin: miter\"/>\n",
       "    </g>\n",
       "    <g id=\"line2d_30\">\n",
       "     <path d=\"M 468.284375 35.416563 \n",
       "L 478.284375 35.416563 \n",
       "L 488.284375 35.416563 \n",
       "\" style=\"fill: none; stroke: #1f77b4; stroke-width: 2; stroke-linecap: square\"/>\n",
       "    </g>\n",
       "    <g id=\"text_18\">\n",
       "     <!-- Theoretical -->\n",
       "     <g transform=\"translate(496.284375 38.916563) scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-54\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-68\" x=\"61.083984\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-65\" x=\"124.462891\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6f\" x=\"185.986328\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-72\" x=\"247.167969\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-65\" x=\"286.03125\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-74\" x=\"347.554688\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-69\" x=\"386.763672\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-63\" x=\"414.546875\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-61\" x=\"469.527344\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6c\" x=\"530.806641\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"patch_108\">\n",
       "     <path d=\"M 468.284375 53.594688 \n",
       "L 488.284375 53.594688 \n",
       "L 488.284375 46.594688 \n",
       "L 468.284375 46.594688 \n",
       "z\n",
       "\" style=\"fill: #ffa500; opacity: 0.7\"/>\n",
       "    </g>\n",
       "    <g id=\"text_19\">\n",
       "     <!-- Empirical -->\n",
       "     <g transform=\"translate(496.284375 53.594688) scale(0.1 -0.1)\">\n",
       "      <use xlink:href=\"#DejaVuSans-45\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6d\" x=\"63.183594\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-70\" x=\"160.595703\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-69\" x=\"224.072266\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-72\" x=\"251.855469\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-69\" x=\"292.96875\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-63\" x=\"320.751953\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-61\" x=\"375.732422\"/>\n",
       "      <use xlink:href=\"#DejaVuSans-6c\" x=\"437.011719\"/>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"p9f7de442e2\">\n",
       "   <rect x=\"50.14375\" y=\"22.318125\" width=\"511\" height=\"220.6\"/>\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg>\n"
      ],
      "text/plain": [
       "<Figure size 800x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 生成100万个标准正态分布随机数\n",
    "result = np.random.normal(0, 1, 1000000)\n",
    "\n",
    "# 生成x轴数据点\n",
    "x = np.arange(result.min(), result.max(), 0.01)\n",
    "\n",
    "# 计算理论正态分布曲线（使用numpy内置函数替代自定义函数）\n",
    "y = (1 / (result.std() * np.sqrt(2 * np.pi))) * np.exp(-0.5 * ((x - result.mean()) / result.std())**2)\n",
    "\n",
    "# 创建图形和坐标轴\n",
    "fig, ax = plt.subplots(figsize=(8, 4))\n",
    "\n",
    "# 绘制理论曲线和实际直方图\n",
    "ax.plot(x, y, label='Theoretical', linewidth=2)\n",
    "ax.hist(result, bins=100, rwidth=1, density=True, \n",
    "        alpha=0.7, label='Empirical', color='orange')\n",
    "\n",
    "# 设置图表属性\n",
    "ax.set(title='Normal Distribution: Theoretical vs Empirical',\n",
    "       xlabel='Value', ylabel='Probability Density')\n",
    "ax.legend()\n",
    "ax.grid(True, alpha=0.3)\n",
    "\n",
    "# 显示图形\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "生成的数据样例:\n",
      "                 Price  Daily_Return\n",
      "Date                                \n",
      "2020-01-01  100.000000      0.000000\n",
      "2020-01-02  100.062798      0.000628\n",
      "2020-01-03  100.045568     -0.000172\n",
      "2020-01-04  100.127438      0.000818\n",
      "2020-01-05  100.319950      0.001921\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from scipy import stats\n",
    "\n",
    "# 生成模拟金融数据\n",
    "np.random.seed(42)\n",
    "n_points = 1000\n",
    "\n",
    "# 生成价格数据（几何布朗运动模拟）\n",
    "def generate_price_data(n_days=1000, start_price=100, mu=0.0005, sigma=0.02):\n",
    "    dt = 1/252  # 日度数据\n",
    "    prices = [start_price]\n",
    "    returns = []\n",
    "    \n",
    "    for i in range(1, n_days):\n",
    "        shock = np.random.normal(0, 1)\n",
    "        return_val = mu * dt + sigma * np.sqrt(dt) * shock\n",
    "        price = prices[-1] * np.exp(return_val)\n",
    "        prices.append(price)\n",
    "        returns.append(return_val)\n",
    "    \n",
    "    return np.array(prices), np.array(returns)\n",
    "\n",
    "# 生成数据\n",
    "prices, returns = generate_price_data(n_points)\n",
    "dates = pd.date_range('2020-01-01', periods=n_points, freq='D')\n",
    "\n",
    "financial_data = pd.DataFrame({\n",
    "    'Date': dates,\n",
    "    'Price': prices,\n",
    "    'Daily_Return': [0] + list(returns)  # 第一个收益率为0\n",
    "})\n",
    "financial_data.set_index('Date', inplace=True)\n",
    "\n",
    "print(\"生成的数据样例:\")\n",
    "print(financial_data.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1000, 2)\n",
      "Price           float64\n",
      "Daily_Return    float64\n",
      "dtype: object\n"
     ]
    }
   ],
   "source": [
    "print(financial_data.shape)\n",
    "print(financial_data.dtypes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "非空值数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "非空数据点数量: 1000\n",
      "Pandas统计非空数量: 1000\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# 使用NumPy统计非空值（先处理NaN）\n",
    "non_na_count = np.count_nonzero(~np.isnan(financial_data['Daily_Return'].to_numpy()))\n",
    "print(f\"非空数据点数量: {non_na_count}\")\n",
    "\n",
    "# 使用Pandas内置方法统计（更简洁）\n",
    "pandas_count = financial_data['Daily_Return'].count()\n",
    "print(f\"Pandas统计非空数量: {pandas_count}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "综合统计摘要"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NumPy计算的描述性统计:\n",
      "count: 999.000000\n",
      "mean: 0.000026\n",
      "std: 0.001234\n",
      "min: -0.004082\n",
      "25%: -0.000815\n",
      "50%: 0.000033\n",
      "75%: 0.000819\n",
      "max: 0.004856\n",
      "\n",
      "Pandas描述性统计:\n",
      "count    999.000000\n",
      "mean       0.000026\n",
      "std        0.001234\n",
      "min       -0.004082\n",
      "25%       -0.000815\n",
      "50%        0.000033\n",
      "75%        0.000819\n",
      "max        0.004856\n",
      "Name: Daily_Return, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# 提取收益数据（排除首个0值）\n",
    "returns_array = financial_data['Daily_Return'].values[1:]\n",
    "\n",
    "# 使用NumPy计算描述性统计\n",
    "desc_stats = {\n",
    "    'count': returns_array.size,\n",
    "    'mean': np.mean(returns_array),\n",
    "    'std': np.std(returns_array, ddof=1),  # 样本标准差（与Pandas默认一致）\n",
    "    'min': np.min(returns_array),\n",
    "    '25%': np.percentile(returns_array, 25),\n",
    "    '50%': np.percentile(returns_array, 50),\n",
    "    '75%': np.percentile(returns_array, 75),\n",
    "    'max': np.max(returns_array)\n",
    "}\n",
    "\n",
    "print(\"NumPy计算的描述性统计:\")\n",
    "for stat, value in desc_stats.items():\n",
    "    print(f\"{stat}: {value:.6f}\")\n",
    "\n",
    "# 与Pandas内置方法对比验证\n",
    "print(\"\\nPandas描述性统计:\")\n",
    "print(financial_data['Daily_Return'].iloc[1:].describe())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "极值分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最小日收益率: -0.004082\n",
      "最大日收益率: 0.004856\n"
     ]
    }
   ],
   "source": [
    "# 计算并打印最小和最大日收益率\n",
    "min_return, max_return = np.min(returns_array), np.max(returns_array)\n",
    "print(f\"最小日收益率: {min_return:.6f}\")\n",
    "print(f\"最大日收益率: {max_return:.6f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "均值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "平均日收益率: 0.000026\n",
      "加权平均收益率: 0.000038\n"
     ]
    }
   ],
   "source": [
    "# 计算简单均值\n",
    "mean_return = np.mean(returns_array)\n",
    "print(f\"平均日收益率: {mean_return:.6f}\")\n",
    "\n",
    "# 计算加权均值（近期数据权重更高）\n",
    "weights = np.linspace(0.5, 1.5, returns_array.size)  # 生成递增权重\n",
    "weighted_mean = np.average(returns_array, weights=weights)\n",
    "print(f\"加权平均收益率: {weighted_mean:.6f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "中位数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NumPy计算收益率中位数: 0.000033\n"
     ]
    }
   ],
   "source": [
    "median_return = np.median(returns_array)\n",
    "print(f\"NumPy计算收益率中位数: {median_return:.6f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "众数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "收益率众数: -0.004082 (出现次数: 1)\n"
     ]
    }
   ],
   "source": [
    "from scipy.stats import mode\n",
    "\n",
    "# 计算收益率众数及其出现次数\n",
    "mode_val, count = mode(returns_array, keepdims=True)\n",
    "print(f\"收益率众数: {mode_val[0]:.6f} (出现次数: {count[0]})\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "方差和标准差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NumPy计算总体方差: 0.00000152\n",
      "NumPy计算样本方差: 0.00000152\n",
      "方差: 0.000002 | 标准差: 0.001234\n"
     ]
    }
   ],
   "source": [
    "# 总体方差\n",
    "population_var = np.var(returns_array)\n",
    "# 样本方差\n",
    "sample_var = np.var(returns_array, ddof=1)\n",
    "print(f\"NumPy计算总体方差: {population_var:.8f}\")\n",
    "print(f\"NumPy计算样本方差: {sample_var:.8f}\")\n",
    "\n",
    "population_var = np.var(returns_array)  # 总体方差\n",
    "sample_var = np.var(returns_array, ddof=1)  # 样本方差\n",
    "sample_std = np.std(returns_array, ddof=1)  # 样本标准差\n",
    "\n",
    "print(f\"方差: {sample_var:.6f} | 标准差: {sample_std:.6f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "协方差"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "协方差矩阵：\n",
      "[[62.5 62.5]\n",
      " [62.5 62.5]]\n",
      "\n",
      "身高与体重的协方差：62.50\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "# 定义两个正相关变量：身高(cm)与体重(kg)\n",
    "height = np.array([160, 165, 170, 175, 180])\n",
    "weight = np.array([55, 60, 65, 70, 75])\n",
    "\n",
    "# 计算协方差矩阵（默认ddof=1，样本协方差）\n",
    "cov_matrix = np.cov(height, weight)\n",
    "print(\"协方差矩阵：\")\n",
    "print(cov_matrix)\n",
    "\n",
    "# 提取变量间协方差（非对角线元素）\n",
    "cov_height_weight = cov_matrix[0, 1]  # 等价于cov_matrix[1, 0]\n",
    "print(f\"\\n身高与体重的协方差：{cov_height_weight:.2f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[62.5 62.5]\n",
      " [62.5 62.5]]\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "# 两个正相关的变量\n",
    "height = np.array([160, 165, 170, 175, 180])  # 身高 (cm)\n",
    "weight = np.array([55, 60, 65, 70, 75])       # 体重 (kg)\n",
    "\n",
    "# 计算相关系数矩阵\n",
    "corr_matrix = np.corrcoef(height, weight)\n",
    "print(cov_matrix)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "偏度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "收益率分布偏度 (SciPy计算): 0.1183\n",
      "收益率分布偏度 (手动计算): 0.1181\n"
     ]
    }
   ],
   "source": [
    "from scipy.stats import skew\n",
    "\n",
    "# 利用SciPy内置函数计算收益率序列的偏度\n",
    "# 偏度用于衡量数据分布的不对称程度，正值表示右偏，负值表示左偏\n",
    "returns_skewness = skew(returns_array)\n",
    "print(f\"收益率分布偏度 (SciPy计算): {returns_skewness:.4f}\")\n",
    "\n",
    "# 手动实现偏度计算公式，与SciPy结果相互验证\n",
    "def calculate_skewness(data):\n",
    "    \"\"\"计算数据分布的偏度系数\"\"\"\n",
    "    # 计算均值作为分布中心参考点\n",
    "    data_mean = np.mean(data)\n",
    "    # 计算样本标准差（使用n-1自由度）\n",
    "    data_std = np.std(data, ddof=1)\n",
    "    # 获取数据点数量\n",
    "    observation_count = len(data)\n",
    "    \n",
    "    # 偏度公式：三阶中心矩除以标准差的三次方\n",
    "    third_moment = np.sum((data - data_mean) ** 3) / observation_count\n",
    "    return third_moment / (data_std ** 3)\n",
    "\n",
    "# 应用手动函数计算偏度\n",
    "custom_skewness = calculate_skewness(returns_array)\n",
    "print(f\"收益率分布偏度 (手动计算): {custom_skewness:.4f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "峰度"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "收益率分布峰度 (Fisher定义): 0.0653\n",
      "收益率分布峰度 (Pearson定义): 3.0653\n"
     ]
    }
   ],
   "source": [
    "from scipy.stats import kurtosis\n",
    "\n",
    "# 计算峰度（Fisher定义）\n",
    "# Fisher定义下，正态分布的峰度为0，大于0表示分布更陡峭（尖峰），小于0表示更平缓\n",
    "fisher_kurtosis = kurtosis(returns_array, fisher=True)\n",
    "print(f\"收益率分布峰度 (Fisher定义): {fisher_kurtosis:.4f}\")\n",
    "\n",
    "# 计算峰度（Pearson定义）\n",
    "# Pearson定义下，正态分布的峰度为3，更直观反映分布的陡峭程度\n",
    "pearson_kurtosis = kurtosis(returns_array, fisher=False)\n",
    "print(f\"收益率分布峰度 (Pearson定义): {pearson_kurtosis:.4f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分位数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "收益率分位数（NumPy计算）:\n",
      "1% 分位数: -0.002622\n",
      "5% 分位数: -0.001921\n",
      "25% 分位数: -0.000815\n",
      "50% 分位数: 0.000033\n",
      "75% 分位数: 0.000819\n",
      "95% 分位数: 0.002115\n",
      "99% 分位数: 0.002921\n",
      "\n",
      "95%置信水平日风险价值（VaR）: -0.001921\n",
      "95%置信水平日条件风险价值（CVaR）: -0.002426\n"
     ]
    }
   ],
   "source": [
    "from statistics import quantiles\n",
    "import numpy as np\n",
    "\n",
    "# 计算十分位数（备用方法）\n",
    "# 使用statistics模块的quantiles函数，采用不包含端点的计算方式\n",
    "# 结果与NumPy方法趋势一致但计算细节有差异\n",
    "# deciles = quantiles(returns_array, n=10, method='exclusive')\n",
    "\n",
    "# 定义需要计算的分位数水平（1%、5%、25%、50%、75%、95%、99%）\n",
    "quantile_levels = [0.01, 0.05, 0.25, 0.5, 0.75, 0.95, 0.99]\n",
    "\n",
    "# 使用NumPy计算指定分位数\n",
    "return_quantiles = np.quantile(returns_array, quantile_levels)\n",
    "\n",
    "# 输出各分位数结果\n",
    "print(\"收益率分位数（NumPy计算）:\")\n",
    "for level, quantile in zip(quantile_levels, return_quantiles):\n",
    "    print(f\"{level*100:.0f}% 分位数: {quantile:.6f}\")\n",
    "\n",
    "# 计算风险价值（VaR）：95%置信水平下的最大可能损失\n",
    "var_95 = np.quantile(returns_array, 0.05)\n",
    "print(f\"\\n95%置信水平日风险价值（VaR）: {var_95:.6f}\")\n",
    "\n",
    "# 计算条件风险价值（CVaR）：超过VaR的损失的平均值\n",
    "# 筛选出所有小于等于VaR的收益率，再计算其均值\n",
    "cvar_95 = np.mean(returns_array[returns_array <= var_95])\n",
    "print(f\"95%置信水平日条件风险价值（CVaR）: {cvar_95:.6f}\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
